package org.example.dao;

import org.example.model.Attendance;
import java.util.List;
import java.util.Map;

public interface AttendanceDao {
    // 根据考勤ID查询考勤记录
    Attendance findAttendanceById(int attendanceId);

    // 查询所有考勤记录
    List<Attendance> queryAllAttendance();

    // 添加考勤记录
    int addAttendance(Attendance attendance);

    // 根据考勤ID更新考勤记录
    int updateAttendance(Attendance attendance);

    // 根据考勤ID删除考勤记录
    int deleteAttendance(int attendanceId);

    // 批量删除考勤记录
    int deleteAttendances(List<Integer> attendanceIds);

    // 按教师ID查询考勤记录
    List<Attendance> queryAttendanceByTeacherId(int teacherId);

    // 按日期范围查询考勤记录
    List<Attendance> queryAttendanceByDateRange(Map<String, Object> dateRange);

    // 按考勤状态查询考勤记录
    List<Attendance> queryAttendanceByStatus(String status);
}